<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>数据类型转换_显式转换</title>
</head>
<body>
<h3>显式转换</h3>
<p>
概念：
自己写代码告诉系统该转成什么类型
</p>

<h4>转换为数字型</h4>
<p>
Number(数据) <br>
转成数字类型 <br>
如果字符串内容里有非数字，转换失败时结果为 NaN（Not a Number）即不是一个数字 <br>
NaN也是number类型的数据，代表非数字 <br> <br>

parseInt(数据) <br>
只保留整数 <br> <br>

parseFloat(数据) <br>
可以保留小
</p>

<h4>转换为字符型</h4>
<p>
String(数据)
变量.toString(进制)
</p>
<hr>

<!--演示 -->
<script>
    let 字符串 = '123450.44'
    console.log(Number(字符串) + 7) // Number强制转换为数字

    console.log(Number('12.34px')) // 输出结果报错, 转换不能带字符

    console.log(parseInt('12.34px')) // parseInt转换只保留 整数, 输出值 12
    console.log(parseInt('12a.34px')) // 输出值 12
    console.log(parseInt('1a2a.34px')) // 输出值 1
    console.log(parseInt('a12.34px')) // 输出值 NaN, 无法识别

    console.log(parseFloat('12.34px')) // parseFloat转换可以保留 小数, 输出值 12.34
    console.log(parseFloat('12a.34px')) // 输出值 12
    console.log(parseFloat('1a2a.34px')) // 输出值 1
    console.log(parseFloat('a12.34px')) // 输出值 NaN, 无法识别

    console.log(typeof( String(22.99) ) ) // 检查 String转换的数字, 输出值是 string (字符串类型)

    //--------------------------------------
    // 小案例 输入2个数，计算两者的和，打印到页面中
    let 第一个数 = prompt("请输入第一个数: ")
    let 第二个数 = prompt("请输入第二个数: ") //注意 这2个数据类型是 字符串
    // 输出 2个数和 到页面
    document.write(`2个数和是: ${Number(第一个数) + Number(第二个数)}`) //小细节: 要把字符串转换成数字计算
</script>

</body>
</html>